package com.szd.service;

import com.szd.pojo.SysUser;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Date
 * @Author
 * @Description
 * @Version 1.0.0
 */
public interface ISysUserService {
    /**
     * 根据用户名查询用户
     * @param
     * @return
     */
    SysUser getUserByUsername(String username);
    /**
     * 根据用户名密码查询用户
     * @param sysUser
     * @return
     */
    SysUser getUserByUsernameAndPwd(SysUser sysUser);
    /**
     * 获取所有用户
     */
    List<SysUser> getAllUser(String username,Integer pageNum,Integer pageSiz);

    /**
     * 根据Id查询用户
     */
    SysUser getUserById( Integer id);
    /**
     * 新增用户
     */
    int addUser(SysUser sysUser);
    /**
     * 修改用户
     */
    int editUser(SysUser sysUser);
    /**
     * 根据id删除用户
     */
    int deleteUserById( Integer id);
    /**
     * 批量删除
     */
    int deleteAll( List<String> ids);
    /**
     * 修改用户
     */
    /**
     * 根据用户ID获取用户详情信息
     *
     * @param id 用户ID
     * @return 对应的用户详情对象（SysUser类型，包含用户名、昵称等各种用户信息）
     */
    SysUser getUserDetailById(Integer id);

//    SysUser updatePassword(Integer id);

    //修改密码
    /**
     * 根据用户ID修改密码
     * @param oldPassword 旧密码
     * @param newPassword 新密码
     * @return 修改是否成功（受影响行数大于0则成功）
     */
    boolean updatePassword(String oldPassword, String newPassword);

}